<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Dynamic Data Exchange</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Dynamic_Data_Exchange"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Dynamic_Data_Exchange rootpage-Dynamic_Data_Exchange skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Dynamic Data Exchange</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>Dynamic Data Exchange</b> (<a href="Englische_Sprache" title="Englische Sprache">englisch</a> für dynamischer Datenaustausch, kurz <b>DDE</b>) ist ein <a href="Kommunikationsprotokoll" title="Kommunikationsprotokoll">Protokoll</a> für den <a href="Datenaustausch" title="Datenaustausch">Datenaustausch</a> zwischen verschiedenen <a href="Anwendungsprogramm" class="mw-redirect" title="Anwendungsprogramm">Anwendungsprogrammen</a>, also eine <a href="Interprozesskommunikation" title="Interprozesskommunikation">Interprozesskommunikation</a> nach dem <a href="Client-Server-Modell" title="Client-Server-Modell">Client-Server-Modell</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Details">Details</h2></div>
<p>Dieses Protokoll ist lokal und in den Betriebssystemen <a href="Microsoft_Windows" title="Microsoft Windows">Windows</a> (ab Version 2.0) und <a href="OS/2" title="OS/2">OS/2</a> verfügbar. Die per Zusatzprotokoll <a href="Netzwerk-DDE" title="Netzwerk-DDE">NetDDE</a> geraume Zeit mögliche Verwendung in <a href="Rechnernetz" title="Rechnernetz">Rechnernetzen</a> wurde mit <a href="Windows_Vista" class="mw-redirect" title="Windows Vista">Windows Vista</a> aus Sicherheitsgründen entfernt.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>Der Datenaustausch erfolgt zwischen zwei oder mehr lokalen Anwendungen. Eine der Anwendungen wird als <a href="Client" title="Client">Client</a>-Anwendung, eine andere als <a href="Server" title="Server">Server</a>-Anwendung bezeichnet. In der Client-Anwendung wird die Verknüpfung initialisiert und angegeben, welche Daten von der Server-Anwendung benötigt werden, die dann die angeforderten Daten zur Verfügung stellt. Man kann über diese DDE-Verbindung Daten und Anweisungen in beide Richtungen so zwischen den Anwendungen austauschen, dass die Anwendungen, z. B. <a href="Microsoft_Excel" title="Microsoft Excel">Microsoft Excel</a> und <a href="Microsoft_Word" title="Microsoft Word">Microsoft Word</a>, aber auch Anwendungsprogramme anderer Hersteller, zusammenarbeiten und wie eine einzige Anwendung wirken.
</p><p>Damit Daten ausgetauscht oder Befehle abgesetzt werden können, müssen beide Anwendungsprogramme gleichzeitig laufen. Falls nötig muss der DDE-Client den benötigten Server-Prozess starten. Der Datenaustausch erfolgt grundsätzlich in kompletten Dateneinheiten in Windows-<a href="Zwischenablage" title="Zwischenablage">Zwischenablage</a>-Formaten (also auch Binärdaten); <a href="Datenstrom" title="Datenstrom">kontinuierliche Datenströme</a> werden üblicherweise nicht unterstützt. Da zwei sich kennende Programme neue Zwischenablageformate definieren können, ist auch der Austausch von großen <a href="Arbitrarit%C3%A4t" title="Arbitrarität">arbiträren</a> Datenmengen, etwa <a href="Matrix_(Mathematik)" title="Matrix (Mathematik)">Matrizen</a> in <a href="Matlab" title="Matlab">Matlab</a>, kein Problem. Als Besonderheit bietet DDE ein „Advise“ genanntes Hot-Tracking (Datenänderungsbenachrichtigung) an, mit dem der Client automatisch über Veränderungen des Server-Datenbestands informiert wird. Ein vorheriges Abspeichern von Dokumenten ist, anders als bei <a href="Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE</a>, nicht nötig.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>Typisch für DDE und auch festgelegt ist die dreistufige Adressierung von Datenelementen, eingeteilt <i>Server</i> (Dienst), <i>Topic</i> (Thema) und <i>Item</i> (Element). Eine tiefergehende Adressierung, etwa bestimmte Zeilen und Spalten einer <a href="Tabellenkalkulation" title="Tabellenkalkulation">Tabellenkalkulationsseite</a>, muss durch ein wahlfreies, nicht-<a href="Aufz%C3%A4hlungstyp" title="Aufzählungstyp">aufzählbares</a> <i>Item</i> erfolgen.
</p><p>Implementiert ist DDE durch Nachrichten über die Windows-typischen <a href="Thread_(Informatik)" title="Thread (Informatik)">Thread</a>-<a href="Warteschlange_(Datenstruktur)" title="Warteschlange (Datenstruktur)">Warteschlangen</a> sowie mittels <a href="Shared_Memory" title="Shared Memory">gemeinsam genutztem Speicher</a> für die eigentlichen Daten.
</p><p>Die Leistungsfähigkeit von DDE liegt grob bei 1000 Übertragungen pro Sekunde, wenn die Kommunikation über einen <a href="Grafische_Benutzeroberfl%C3%A4che" title="Grafische Benutzeroberfläche">GUI</a>-Thread erfolgt, und kann bei Verwendung gesonderter Threads deutlich höher liegen. Die mit <a href="Windows_3.1" class="mw-redirect" title="Windows 3.1">Windows 3.1</a> eingeführten DDE-Funktionen, zunächst in der DDEML.DLL verpackt, sind praktisch nur <a href="Wrapper_(Software)" title="Wrapper (Software)">Wrapper</a>, die die Verwendung vereinfachen aber keinen Geschwindigkeitsvorteil bringen.
</p><p>DDE überwindet „Bitgrenzen“ relativ problemlos. So ist es möglich, dass ein 16-Bit- und ein 32-Bit-Windows-Programm kommunizieren, so auch ein 32-Bit- und ein 64-Bit-Programm. Eine Kommunikation zwischen 16-Bit und 64-Bit war regulär nur früher vor Windows-Vista mittels der <a href="Netzwerk-DDE" title="Netzwerk-DDE">Netzwerk-DDE</a> machbar, da die 64-Bit-Windows-Versionen keine 16-Bit-Unterstützung bieten.
</p>
<div class="mw-heading mw-heading2"><h2 id="Aktueller_Stand">Aktueller Stand</h2></div>
<p>DDE findet heute immer noch Verwendung, etwa zum Weiterleiten von Kommandozeilen an bereits laufende Prozesse, typischerweise an <a href="Multiple_Document_Interface" title="Multiple Document Interface">MDI</a>-Anwendungen. So kann der <a href="Windows-Explorer" title="Windows-Explorer">Windows-Explorer</a> bei geeignet eingestellten Verknüpfungen ein Dokument an einen bereits laufenden Bearbeitungsprozess „senden“, ohne eine unnötige Prozess-Kopie zu erstellen. Moderne Browser arbeiten teilweise auch mit DDE (z. B. <a href="Mozilla_Firefox" title="Mozilla Firefox">Mozilla Firefox</a>). Sofern DDE nicht unterstützt wird, kann hilfsweise zum Teil das Windows Accessibility Interface<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> verwendet werden (wie z. B. bei <a href="Google_Chrome" title="Google Chrome">Google Chrome</a>).
</p><p>Auf Grund seiner Einfachheit war Netzwerk-DDE bei Maschinen- und Fabriksteuerungen verbreitet, bis es seit <a href="Windows_Vista" class="mw-redirect" title="Windows Vista">Windows Vista</a> nicht mehr unterstützt wurde.
</p><p>DDE wurde durch das <a href="Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE</a>-Protokoll ergänzt und erweitert.
</p><p>Als Alternative, insbesondere für kontinuierliche Datenströme, bieten sich <a href="Socket_(Software)" class="mw-redirect" title="Socket (Software)">Sockets</a> an.
</p>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/windows/desktop/dataxchg/about-dynamic-data-exchange">About Dynamic Data Exchange</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><span class="cite">Microsoft: <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-7/ee449431(v=ws.10)?redirectedfrom=MSDN"><i>Understanding Application Compatibility.</i></a> In: <i>docs.microsoft.com.</i> Microsoft, 9. Dezember 2012,<span class="Abrufdatum"> abgerufen am 27. September 2020</span> (englisch): „Network Dynamic Data Exchange (NetDDE). NetDDE was removed from Windows XP, but was still available on the installation CD. For security reasons, beginning with Windows Vista and Windows Server 2008, Windows no longer supports NetDDE at all.“</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ADynamic+Data+Exchange&rft.title=Understanding+Application+Compatibility&rft.description=Understanding+Application+Compatibility&rft.identifier=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fprevious-versions%2Fwindows%2Fit-pro%2Fwindows-7%2Fee449431%28v%3Dws.10%29%3Fredirectedfrom%3DMSDN&rft.creator=Microsoft&rft.publisher=Microsoft&rft.date=2012-12-09&rft.language=en"> </span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><span class="cite">hsniederrhein.de: <a rel="nofollow" class="external text" href="http://learning.hsniederrhein.de/itonline/index.php?id=190"><i>OLE und DDE.</i></a> In: <i>IT-Online.</i> Hochschule Niederrhein,<span class="Abrufdatum"> abgerufen am 27. September 2020</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ADynamic+Data+Exchange&rft.title=OLE+und+DDE&rft.description=OLE+und+DDE&rft.identifier=http%3A%2F%2Flearning.hsniederrhein.de%2Fitonline%2Findex.php%3Fid%3D190&rft.creator=hsniederrhein.de&rft.publisher=Hochschule+Niederrhein&rft.date="> </span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><span class="cite">Microsoft: <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/windows/win32/winauto/microsoft-active-accessibility"><i>Microsoft Active Accessibility.</i></a> In: <i>docs.microsoft.com.</i> Microsoft, 18. Mai 2018,<span class="Abrufdatum"> abgerufen am 27. September 2020</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ADynamic+Data+Exchange&rft.title=Microsoft+Active+Accessibility&rft.description=Microsoft+Active+Accessibility&rft.identifier=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fwin32%2Fwinauto%2Fmicrosoft-active-accessibility&rft.creator=Microsoft&rft.publisher=Microsoft&rft.date=2018-05-18&rft.language=en"> </span> </span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2022-02-19" href="https://de.wikipedia.org/wiki/?title=Dynamic_Data_Exchange&oldid=220377745">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>